package common;

import java.io.IOException;

/**
 * Interfaccia che le classi dedicate a comunicare con i client devono implementare. Essa definisce i metodi che le classi che implementano questa interfaccia devono avere per un funzionamento corretto della partita corrente.
 */
public interface Server {
	
	/**
	 * Metodo usato per comunicare ai client che e' stato effettuato un cambio del turno.
	 * @param username Username del giocatore di cui e' il turno.
	 * @throws IOException Eccezione lanciata nel caso di errore di Input/Output.
	 */
	public void cambioTurno(String username) throws IOException;
	
	/**
	 * 
	 * @param username Username del giocatore a cui si e' estinta la specie.
	 * @param bul Parametro indicante se la razza estinta e' del giocatore di cui era il turno corrente.
	 * @throws IOException Eccezione lanciata nel caso di errore di Input/Output.
	 */
	public void specieMorta(String username, Boolean bul) throws IOException;	
}
